/*
 * Copyright the original author or authors.
 * 
 * Licensed under the MOZILLA PUBLIC LICENSE, Version 1.1 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.mozilla.org/MPL/MPL-1.1.html
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 
package com.airlogger.log.control
{
	import com.airlogger.log.model.LogModel;
	import com.airlogger.event.AirLoggerLogEvent;
	import com.bourre.commands.AbstractCommand;
	
	import flash.events.Event;
	import com.airlogger.log.model.UIModel;
	import com.airlogger.log.model.AirLoggerModelList;

	public class ClearLog extends AbstractCommand
	{
		override public function execute( e : Event = null ) : void
		{
			var evt : AirLoggerLogEvent = e as AirLoggerLogEvent;
			
			if( getOwner().getModelLocator().isRegistered( evt.id ) )
			{
				var logmodel : LogModel = getOwner().getModelLocator().getModel( evt.id ) as LogModel;
				var uimodel : UIModel = getOwner().getModelLocator().getModel( AirLoggerModelList.UI ) as UIModel;
				
				logmodel.clearLogs();	
				
				if( evt.id == uimodel.getFocus() )
				{
					uimodel.fireOnRefreshEvent();
				}
			}	
		}		
	}
}